/**
 * 普查统计子系统 郭华 2021-5-25
 * exampleDivisions 全国试点县
 * Menu 所有菜单 配合组合树使用 单个菜单有menuId, parentId, menuName 字段
 * Date 文件位置'static/app/date' 返回对象{currentdate, currentweek, currentmonth}
 * judgeType 判断省市区类型和已选的行政区划类型是否一致 不一致返回false
 * @type 所选的省市区， '省','市','区'
 * @dataType 数据类型 0: '数据上报'; 1：'数据质检'
 * 
 */

define([
    "UtilDir/util",
    "UtilDir/tool",
    "UtilDir/combotree",
    "UtilDir/org/selectOrg",
    "UtilDir/searchBlock",
    "UtilDir/loading",
    "Date", "DateCN", "css!DateCss",
    "EasyUI", "EasyUI-lang",
], function (Util, Tool, Combotree, SelectOrg, SearchBlock, Loading) {
    
    var getDivisionController = function () {
        return getServer() + "/platform/org/divisions/";
    };
    var getController = function () {
        return getServer() + "/pc";
    };

    // 初始化
    var init = function () {
        initSearchBlock();
        queryBtnBind();
        initcreateProvince();
        createAuditGrid();
    }
    var initcreateProvince = function () {
        var html = "";
        $("#citySelect").append(html);
        $("#areaSelect").append(html);
        $.ajax({
            url: getServer() + "/divisions/root/subdivisions",
            contentType: "application/json",
            type: "get",
            success: function (data) {
            	//console.log(data)
                $.each(data, function (idx, item) {
                    html += "<option value='" + item.divisionName + "' exid='" + item.divisionId + "'>" + item.divisionName + "</option>";
                });
                $("#provinceSelect").append(html);
            }
        });
        $("#provinceSelect").change(function () {
            var html = '<option value="" disabled selected style="display:none;">请选择</option>';
            $("#citySelect option").remove();
            $("#citySelect").append(html);
            $("#areaSelect option").remove();
            $("#areaSelect").append(html);
            var divisionId = $(this).find("option:selected").attr("exid");
            if ($(this).val() == "北京市" || $(this).val() == "天津市" || $(this).val() == "上海市" || $(this).val() == "重庆市") {
                $("#citySelect").append("<option value='" + $(this).val() + "' exid='" + divisionId + "'>" + $(this).val() + "</option>");
                return;
            }
            $.ajax({
                url: getServer() + "/divisions/" + divisionId + "/subdivisions",
                contentType: "application/json",
                type: "get",
                success: function (data) {
                    $.each(data, function (idx, item) {
                        html += "<option value='" + item.divisionName + "' exid='" + item.divisionId + "'>" + item.divisionName + "</option>";
                    });
                    $("#citySelect").append(html);
                }
            });
        });
        $("#citySelect").change(function () {
            if ($(this).val() == "") return;
            var html = '<option value="" disabled selected style="display:none;">请选择</option>';
            $("#areaSelect option").remove();
            $("#areaSelect").append(html);
            var divisionId = $(this).find("option:selected").attr("exid");
            $.ajax({
                url: getServer() + "/divisions/" + divisionId + "/subdivisions",
                contentType: "application/json",
                type: "get",
                success: function (data) {
                    $.each(data, function (idx, item) {
                        html += "<option value='" + item.divisionName + "' exid='" + item.divisionId + "'>" + item.divisionName + "</option>";
                    });
                    $("#areaSelect").append(html);
                }
            });
        });
    }
	var initSearchBlock = function(){
        SearchBlock.init("searchBlock");
        require(["jquery", "Date", "DateCN", "css!DateCss"], function ($) {
        	$("#projectCompleteDateIndex").datetimepicker({
                //设置使用语言：cn是自定义的中文版本，还可以扩展其他语言版本
				language : "cn",
				//输出格式化
				format : 'yyyy-mm-dd',
				//直接选择‘今天’
				todayBtn : true,
				//设置最精确的时间选择视图
				minView : 'month',
				//高亮当天日期
				todayHighlight : true,
				//显示“上午”“下午”
				showMeridian : true,
				//选择完毕后自动关闭
				autoclose : true
            });
            /* 删除按钮 */
            $("#complex_show0").on("click", function () {
                $('#projectCompleteDateIndex').datetimepicker('show');
            });
            /* 显示按钮 */
            $("#complex_del0").on("click", function () {
                $("#projectCompleteDateIndex").val("");
            });
            
            $("#complex1").datetimepicker({
                //设置使用语言：cn是自定义的中文版本，还可以扩展其他语言版本
				language : "cn",
				//输出格式化
				format : 'yyyy-mm-dd',
				//直接选择‘今天’
				todayBtn : true,
				//设置最精确的时间选择视图
				minView : 'month',
				//高亮当天日期
				todayHighlight : true,
				//显示“上午”“下午”
				showMeridian : true,
				//选择完毕后自动关闭
				autoclose : true
            });
            /* 删除按钮 */
            $("#complex_show1").on("click", function () {
                $('#complex1').datetimepicker('show');
            });
            /* 显示按钮 */
            $("#complex_del1").on("click", function () {
                $("#complex1").val("");
            });

            $("#complex2").datetimepicker({
                //设置使用语言：cn是自定义的中文版本，还可以扩展其他语言版本
				language : "cn",
				//输出格式化
				format : 'yyyy-mm-dd',
				//直接选择‘今天’
				todayBtn : true,
				//设置最精确的时间选择视图
				minView : 'month',
				//高亮当天日期
				todayHighlight : true,
				//显示“上午”“下午”
				showMeridian : true,
				//选择完毕后自动关闭
				autoclose : true
            });
            /* 删除按钮 */
            $("#complex_show2").on("click", function () {
                $('#complex2').datetimepicker('show');
            });
            /* 显示按钮 */
            $("#complex_del2").on("click", function () {
                $("#complex2").val("");
            });
        })

	};
	var queryBtnBind = function(){
		$("#complex1").change(function () {
            if ($("#complex1").val() != "" && $("#complex2").val() != "") {
                if ($("#complex1").val() > $("#complex2").val()) {
                    Util.alert("开始时间必须小于等于结束时间", function () {
                        $("#complex1").val("");
                        $("#complex2").val("");
                    });
                    return;
                }
            }
        });
        $("#complex2").change(function () {
            if ($("#complex1").val() != "" && $("#complex2").val() != "") {
                if ($("#complex1").val() > $("#complex2").val()) {
                    Util.alert("开始时间必须小于等于结束时间", function () {
                        $("#complex1").val("");
                        $("#complex2").val("");
                    });
                    return;
                }
            }
        });
        
        $("#btnSearch").click(function () {
            createAuditGrid();
        });
        $("#btnReset").click(function () {
        	$("#taskName").val("1");
            $("#provinceSelect").val("");
            $("#citySelect").val("");
            $("#areaSelect").val("");
			$("#complex1").val("");
        	$("#complex2").val("");            
        	$("#isPioneer").val("");
		});
	};

	var opts1;
    var createAuditGrid = function () {
       
		$("#auditGrid").datagrid({
			url: getController() + "/findStatistics",
			method: "GET",
			fitColumns: true,
			autoRowHeight: false,
			columns: [
				[
				{
		                field: 'myNo',
		                title: '序号',
		                align: 'center',		                
		                width: '7%',
		                formatter: function (value, row, index) {
		                    if (!opts1) {
		                        opts1 = $('#auditGrid').datagrid('options');
		                    }
		                    return opts1.pageSize * (opts1.pageNumber - 1) + index + 1;
		                }
		            },
					
					{
						field: 'province', sortable: true,
						title: '省',
						width: '15%',
						align: 'center',
					},
					{
						field: 'city', sortable: true,
						title: '市',
						width: '15%',
						align: 'center',
					},
					{
						field: 'area', sortable: true,
						title: '区（县）',
						width: '15%',
						align: 'center',
					},
					{
						field: 'isPioneer',
						title: '是否试点县',
						width: '10%',
						align: 'center',
						formatter: function (value) {
	                        if (value == "Y") {
	                            return '是';
	                        } else if (value == "N") {
	                            return '否';
	                        } 
	                    }
					},
					{
						field: 'attachmetName',
						title: '任务详情（文件名）',
						width: '15%',
						align: 'center',
						
					},
					{
						field: 'uploadTime',
						title: '上传时间',
						width: '10%',
						sortable: true,
						align: 'center',
						
					},
					{
						field: 'uploadUser',
						title: '上传者',
						width: '10%',
						align: 'center',
						
					},
                    {
                        field: 'isReportPg',
                        title: '是否上报pg库',
                        width: '10%',
                        align: 'center',
                        formatter: function (value) {
                            if (value == 1) {
                                return '已上报';
                            } else {
                                return '未上报';
                            }
                        }
                    },
                    {
                        field: 'totalCount',
                        title: '县级的数据总数',
                        width: '10%',
                        align: 'center',
                    },
                    {
                        field: 'reportCount',
                        title: '上报的数据总数',
                        width: '10%',
                        align: 'center',
                    },
                    {
                        field: 'operation', title: '操作', width: '8%', align: 'center',
                        formatter: function (value, rowData, rowIndex) {
                            return '<a href="#" onclick="_downloadAttachment(\'' + rowData.attachmetName + '\');">下载附件</a>'
                        }
                    }
				]
			],
			toolbar: [{
				iconCls: 'fa fa-download',
				text: "导出",
				handler: function () {
					exportForm();
				}
			}],
			queryParams: {
				taskName: $("#taskName").val(),
				province: $("#provinceSelect").val(),
				city: $("#citySelect").val(),
				area: $("#areaSelect").val(),
				
				startTime: $("#complex1").val(),
				endTime: $("#complex2").val(),
				isPioneer: $("#isPioneer").val(),
			},
			pagination: true,
			pageSize: 50
		});
	
    };
    window._downloadAttachment = function (fileName){
        window.location.href = getController() + "/attachment-download?fileName=" + encodeURIComponent(fileName);
    };

    
    // 导出
    var exportForm = function () {

        var params = {
        	taskName: $("#taskName").val(),
			province: $("#provinceSelect").val(),
			city: $("#citySelect").val(),
			area: $("#areaSelect").val(),
			isPioneer: $("#isPioneer").val(),
            startTime: $("#complex1").val(),
			endTime: $("#complex2").val(),          
        }
        // $.ajax({
        //     url: getController() + "/isEmpty",
        //     data: params,
        //     type: "get",
        //     success: function (data) {
        //         // console.log(data);
        //         if (data.message == '否') {
        //             window.location.href = getController() + "/export?startTime=" + (params.startTime || '') + "&endTime=" + (params.endTime || '') + "&dataType=" + (params.dataType || '') + "&divisions=" + (params.divisions || '') + "&menuIds=" + (params.menuIds || '') + "&type=" + (params.type || '');
        //         } else if (data.message == '是') {
        //             Util.alert('该类型数据数据为空，无法导出！');
        //         } else {
        //             // 未选择类型，请选择一种类型！
        //             Util.alert(data.message);
        //         }
        //     }
        // });
        window.location.href = getController() + "/exportStatistics?startTime=" + (params.startTime || '') + "&endTime=" + (params.endTime || '') + "&taskName=" + (params.taskName || '') + "&province=" + (params.province || '') + "&city=" + (params.city || '') + "&area=" + (params.area || '')+ "&isPioneer=" + (params.isPioneer || '');
    }
    return {
        init:init
    }
})